//
//  TutorialProjectViewController.m
//  TutorialProject
//
//  Created by Ondrej Rafaj on 5.8.09.
//  Copyright Home 2009. All rights reserved.
//

#import "TutorialProjectViewController.h"

@implementation TutorialProjectViewController


// ------ Tutorial code starts here ------

@synthesize fieldName, fieldSurname, fieldMail, fieldSubject, fieldMessage, resultLabel;

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
	[textField resignFirstResponder];
	return NO;
}


- (IBAction)sendMessage:(UIButton *)sender {
	NSURL *urlToSend = [[[NSURL alloc] initWithString: @"http://www.xprogress.com/api/imessages-send.php?code=e179922a111ee2cbb6f09d85e84c8e2d2f026323"] autorelease];
	
	ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:urlToSend] autorelease];
	
    [request setPostValue:[self.fieldName text] forKey:@"name"];
	[request setPostValue:[self.fieldSurname text] forKey:@"surname"];
	[request setPostValue:[self.fieldMail text] forKey:@"email"];
	[request setPostValue:[self.fieldSubject text] forKey:@"subject"];
	[request setPostValue:[self.fieldMessage text] forKey:@"message"];
	
  	[request start];
	NSError *error = [request error];
	NSLog(@"Sending message :)");
	if (!error) {
		NSString *response = [request responseString];
		NSLog(@"Response: %@", response);
		SBJSON *parser = [[SBJSON alloc] init];
		NSDictionary *data = [parser objectWithString:response error:nil];
		[parser release];
		int result = [[data objectForKey:@"result"] intValue];
		if (result) self.resultLabel.text = @"Your message has been sent.";
		else self.resultLabel.text = @"We were unable to send your message!";
		NSString *errorResponse = [data objectForKey:@"error"];
		if ([errorResponse length] > 0) NSLog(@"Error: %@", errorResponse);
	}
}


// ------ Tutorial code ends here ------


/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}
*/

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/


/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}

// This function is for button which takes you to the xprogress.com website
- (IBAction) runXprogressComButton: (id) sender {
	NSURL *url = [[[NSURL alloc] initWithString: @"http://www.xprogress.com/"] autorelease];
	[[UIApplication sharedApplication] openURL:url];
}


- (void)dealloc {
    
	// ------ Tutorial code starts here ------
	
	[fieldName, fieldSurname, fieldMail, fieldSubject, fieldMessage, resultLabel release];
	
	// ------ Tutorial code ends here ------
	
	[super dealloc];
}

@end
